
import platform


# print(platform.system())
# print(platform.uname())


# 快排 # 2024年6月6日15:34:13
# 冒泡最慢，然后是选择，然后伪快排，然后是快排，最快的是list.sort
# 伪快排没有操作原数组，是返回新数组

def quick_sort(L):
    q_sort(L, 0, len(L) - 1)


def q_sort(L, left, right):
    if left >= right:
        return
    pivote = partition(L, left, right)
    q_sort(L, left, pivote-1)
    q_sort(L, pivote+1, right)


def partition(L, left, right):
    pivote = L[left]
    while left < right:
        while left < right and L[right] >= pivote:  #  >= 写成了 > 这里没带等于号进入死循环，下次注意
            right -= 1
        L[left] = L[right]
        while left < right and L[left] <= pivote:
            left += 1
        L[right] = L[left]
    L[left] = pivote
    return left


# import random
# list1 = [random.randint(0, 10) for i in range(10)]
# print(list1)
# quick_sort(list1)
# print(list1)

# 2024年6月6日15:57:08











